Dart Future ignore

这个方法允许您安全地忽略该 Future 及其结果或错误。即使 Future 包含错误,使用 ignore 方法也不会导致未捕获的异步错误。

适用场景:当您觉得 Future 的结果或错误对程序不再重要时,应使用该方法。

注意事项:

实现代码:

@Since("2.14")
void ignore() {
  var self = this;
  if (self is _Future<T>) {
    self._ignore();
  } else {
    self.then<void>(_ignore, onError: _ignore);
  }
}

用法

Future<int> unimportantFuture = someAsyncFunction();
unimportantFuture.ignore();

替代方案

如果你只想消除 "未等待的 Futures" 警告,可以使用 [unawaited] 函数。这将确保意外的错误仍然会被报告。

这句话意味着如果你的目的只是消除编译器或代码检查工具给出的 "未等待的 Futures" 警告,而并非完全忽略 Future 的结果或错误,你可以使用 unawaited 函数。使用 unawaited 函数不会阻止 Future 中的错误被系统捕获并报告,从而确保你不会无视可能的问题。

简单来说,unawaited 用于屏蔽警告,但仍允许错误被报告;而 ignore 方法是用于完全忽略 Future 的所有结果和错误。


本文作者:Maeiee

本文链接:Dart Future ignore

版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!


喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!